The increasing adoption of data services by users has resulted in a related increase in the types of such services available, and in the variety of data and applications of interest to those users. Users of mobile wireless devices may receive sports information, news, stock quotes, and real-time data specific to a particular application executing on their device, as well as emergency notifications and location specific data.
However, the use of mobile wireless devices such as mobile phones, PDAs, and wirelessly connected laptop computers introduces certain factors into any system designed to deliver data to applications executing on those devices, where some of the factors may not be significant or relevant in a fixed high-speed bidirectional communications system (such as an Internet based communications system). For example, a situation in which a mobile device must communicate with a central data store or server over a wireless network may introduce bandwidth constraints, latency concerns, intermittent connectivity problems, and prohibitive cost into any system designed to transfer data and content to a user of a client device. In addition, the lower available bandwidth as compared to a high-speed wire line network may place constraints on the type or complexity of the data or content that can be effectively delivered. Also, mobile networks typically can not handle a large number of simultaneous client-initiated unicast (i.e., individually addressed server to client communications) transactions without severe adverse impact on other network traffic. Similarly, latency and intermittent connectivity concerns may impact the ability of the client device to communicate with a source of data or content to confirm delivery of content. In addition, mobile and other specialized devices typically have characteristics that impose constraints on the storage and processing of data that are not present when using desktop computers or other devices connected to a high speed bidirectional network. These constraints may include display size and resolution, data processing speed, and data storage capacity.
As a result, a threshold issue in determining how best to deliver data to a device is that of the mode of data transfer used for communications between intended recipients and the network infrastructure. In many types of networks, communications between the network infrastructure and individual users may be accomplished by either a point-to-point communication or by the broadcast of data to a group of recipients. Each method of data transfer has certain advantages and associated disadvantages, both with regards to optimal network infrastructure usage and with regards to enabling effective use of the type of data being transferred.
For example, point-to-point communications are most efficient for a relatively small group of recipients, as they may require significant infrastructure overhead in terms of recipient device addressing, allocation of dedicated bandwidth, and management of requests from devices and the related processing of responses to those requests. Another disadvantage of point-to-point communications is that the cost in terms of network resources and overhead is proportional to the number of client devices receiving the transmission, so that costs generally scale directly with the number of recipients.
In contrast, broadcasting data to a larger group of recipients may be more cost-effective and a better way to allocate network infrastructure resources in certain situations and with regards to certain types of data. Broadcasting provides benefits in terms of efficiency and scalability, and the cost for broadcasting data is not directly proportional to the number of recipients. Broadcasting enables data to be delivered efficiently to a larger group of recipients without the need for communicating client-side requests to a server and may be more efficient in terms of resource usage for certain types of applications. Broadcasting is capable of providing comparatively lower cost per bit of data transferred, and for certain applications may be a more practical and effective means of delivering data to interested users.
The type of data or application for which the data is intended may also introduce factors that should be considered in deciding upon the desired mode of data transfer. Certain types of applications require asynchronous, simultaneous distribution of data to a large set of clients. These applications include, but are not limited to, safety alerts, emergency notifications, traffic and extreme weather updates, sporting event updates, news updates, stock quote updates, or other data that is of potential interest to a large group of users and is time sensitive or whose value dissipates rapidly. For such applications, it may be more important to provide the relevant data to a region or section of a network's coverage than to respond to only those users who specifically request the data. In addition, in situations of intermittent or unreliable coverage, the time and network resources required for processing a request-response interaction may not be available when needed.
For these and other reasons, and particularly for bandwidth-constrained data distribution networks such as many mobile data networks, it is often advantageous to utilize a broadcast mode for distribution of events or data. Note that as used herein, the term “events” or “data” refers to data of arbitrary size and type that is meaningful or relevant to the application receiving the data. Examples include a message intended to be displayed to the user of the receiving application, data to be presented within an application (e.g., news, weather, sports information or updates), a video clip to be played to the user, or a data update for the application.
In many cases, events are broadcast to client devices located in a specific region. One method used for location-based delivery broadcasts all events to all locations. The client filters the received events so that the client only processes those events that are targeted to its location. The disadvantage to this solution is that bandwidth to geographic locations where the event is not relevant is wasted since no client in the location will use the event.
Another method used for location-based delivery where applications share the same network resources dedicates bandwidth channels to each application based on the locations where the application plans to send events. The application is guaranteed to have that bandwidth available for delivery of events to each of those locations. However, dedicating channels to each application can be an inefficient use of the total bandwidth. Since most non-streaming applications do not constantly use the bandwidth, there are frequently times where bandwidth goes unused. For example, a sports application sends data only when an event occurs during the sporting event. Even if such events occur once a second, the amount of data sent is so small that a dedicated channel would be unused most of the time.
What are desired are a system and method for efficiently using a broadcast mode of data transfer to manage the location-specific distribution of data to a variety of applications executing on multiple client devices operating in a network, where such system and method overcome the noted disadvantages of existing approaches.